﻿#pragma once
#include "CWndProcess.h"
#include "CModuleList.h"
#include "CWndModAnalysis.h"
#define MAX_PAGE 3

// CWndINC 对话框

class CWndINC : public CDialogEx
{
	DECLARE_DYNAMIC(CWndINC)



public:
	CWndINC(CWnd* pParent = nullptr);   // 标准构造函数
	virtual ~CWndINC();

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_PAGE_1 };
#endif

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
	//更新tab控件显示索引
	void RefreshTab();
	//向m_tab中添加页面
	bool InstallPage(CDialogEx* wnd, UINT id, CString&& _name, bool show);

	
	
	CWndProcess wndProcess;//显示所有进程
	CWndModuleList m_WndModLst[2];//显示进程中所有模块
	CWndModAnalysis m_ModAnalysis;//显示模块对比结果的窗口,只显示不同,若一样则无显示
	CDialogEx* m_arrPages[MAX_PAGE];//m_Tab下所有页面
	int m_nCurPage{};//m_tab当前页
	CTabCtrl m_Tab;//Tab控件





	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL OnInitDialog();
	//点选打开进程
	afx_msg void OnBnClickedOpenProc();
	//点选打开感染进程
	afx_msg void OnBnClickedOpenProc2();
	//点击分析
	afx_msg void OnBnClickedAnalysis();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);

	CString m_ExeNormal;//正常进程名
	CString m_ExeInjected;//感染进程名
};
